1. Field of the Invention
The present invention relates to a security controller, in particular a security controller for performing security checking of transaction requests received from a master device and controlling issuing of the transaction requests to a slave device.
2. Description of the Prior Art
A data processing apparatus may comprise one or more master devices and one or devices. A master device may generate transaction requests, such as read requests or write requests, and a slave device may respond to the transaction requests, for example by reading data from, or writing data to, a storage device in response to the transaction requests. Some transaction requests may relate to secure data for which access is controlled in accordance with certain security constraints. Hence, it is known to provide a security controller for performing security checking of transaction requests received from a master device. Based on the result of the security checking, the security controller then controls issuing of the transaction requests to the slave device.
However, the security checking performed by the security controller can increase the latency with which the slave device can respond to a transaction request issued by the master device. For example, the security controller may require several processing cycles to perform the security checking and this can cause a delay in issuing the transaction request to the slave device. Especially for read requests, a delay in servicing a transaction request will tend to reduce the performance of the master device which issued the transaction request, so it is desirable to reduce the latency associated with performing security checking of transaction requests.
Another consideration is the number of outstanding transaction requests which can be handled by the security controller at once. To maintain a high level of processing performance, it is generally desirable that a security controller can handle many outstanding transaction requests at a time, so that it is reasonably rare that a pending transaction request is blocked while awaiting security checking by the security controller.
Hence, the present technique seeks to provide a security controller which performs security checking of transaction requests with a reduced response latency yet which is also able to handle a relatively large number of transaction requests.